home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / mint / editors / mjovesrc.zoo / vars.c < prev    next >
C/C++ Source or Header  |  1992-04-04  |  5KB  |  135 lines

  1. /***************************************************************************
  2.  * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE *
  3.  * is provided to you without charge, and with no warranty.  You may give  *
  4.  * away copies of JOVE, including sources, provided that this notice is    *
  5.  * included in all the files.                                              *
  6.  ***************************************************************************/
  7.  
  8. #ifndef    TXT_TO_C    /* so that jove.h isn't included twice in setmaps */
  9. #include "jove.h"
  10. #endif
  11.  
  12. const struct variable    variables[] = {
  13.     VARIABLE, "abort-char", (UnivPtr) &AbortChar, V_CHAR,
  14. #ifdef    UNIX
  15.     VARIABLE, "allow-^S-and-^Q", (UnivPtr) &OKXonXoff, V_BOOL|V_TTY_RESET,
  16. #endif    /* UNIX */
  17.     VARIABLE, "allow-bad-filenames", (UnivPtr) &OkayBadChars, V_BOOL,
  18. #ifdef    ABBREV
  19.     VARIABLE, "auto-case-abbrev", (UnivPtr) &AutoCaseAbbrev, V_BOOL,
  20. #endif
  21. #ifdef    IBMPC
  22.     VARIABLE, "background-color", (UnivPtr) &Bgcolor, V_BASE10|V_CLRSCREEN,
  23. #endif    /* IBMPC */
  24. #ifdef    F_COMPLETION
  25.     VARIABLE, "bad-filename-extensions", (UnivPtr)BadExtensions, V_STRING,
  26. #endif
  27.     VARIABLE, "c-argument-indentation", (UnivPtr) &CArgIndent, V_BASE10,
  28.     VARIABLE, "c-indentation-increment", (UnivPtr) &CIndIncrmt, V_BASE10,
  29.     VARIABLE, "case-ignore-search", (UnivPtr) &CaseIgnore, V_BOOL,
  30. #ifdef    CMT_FMT
  31.     VARIABLE, "comment-format", (UnivPtr)CmtFmt, V_STRING,
  32. #endif
  33. #ifdef    IPROCS
  34.     VARIABLE, "dbx-format-string", (UnivPtr)dbx_parse_fmt, V_STRING,
  35. #endif
  36. #ifdef    BIFF
  37.     VARIABLE, "disable-biff", (UnivPtr) &BiffChk, V_BOOL,
  38. #endif
  39. #ifdef    F_COMPLETION
  40.     VARIABLE, "display-bad-filenames", (UnivPtr) &DispBadFs, V_BOOL,
  41. #endif
  42. #ifndef    MAC
  43.     VARIABLE, "error-format-string", (UnivPtr)ErrFmtStr, V_STRING,
  44.     VARIABLE, "error-window-size", (UnivPtr) &EWSize, V_BASE10,
  45. #endif
  46.     VARIABLE, "expand-environment-variables", (UnivPtr) &DoEVexpand, V_BOOL,
  47.     VARIABLE, "file-creation-mode", (UnivPtr) &CreatMode, V_BASE8,
  48.     VARIABLE, "files-should-end-with-newline", (UnivPtr) &EndWNewline, V_BOOL,
  49. #ifdef    IBMPC
  50.     VARIABLE, "foreground-color", (UnivPtr) &Fgcolor, V_BASE10|V_CLRSCREEN,
  51. #endif    /* IBMPC */
  52.     VARIABLE, "internal-tabstop", (UnivPtr) &tabstop, V_BASE10|V_CLRSCREEN,
  53.     VARIABLE, "interrupt-character", (UnivPtr) &IntChar, V_CHAR|V_TTY_RESET,
  54.     VARIABLE, "left-margin", (UnivPtr) &LMargin, V_BASE10,
  55. #ifdef    MAC
  56.     VARIABLE, "macify", (UnivPtr) &Macmode, V_BOOL,
  57. #endif
  58. #ifdef    UNIX
  59.     VARIABLE, "mail-check-frequency", (UnivPtr) &MailInt, V_BASE10,
  60.     VARIABLE, "mailbox", (UnivPtr)Mailbox, V_FILENAME,
  61. #endif    /* UNIX */
  62. #ifdef    BACKUPFILES
  63.     VARIABLE, "make-backup-files", (UnivPtr) &BkupOnWrite, V_BOOL,
  64. #endif
  65.     VARIABLE, "mark-threshold", (UnivPtr) &MarkThresh, V_BASE10,
  66.     VARIABLE, "marks-should-float", (UnivPtr) &MarksShouldFloat, V_BOOL,
  67.     VARIABLE, "match-regular-expressions", (UnivPtr) &UseRE, V_BOOL,
  68.     VARIABLE, "meta-key", (UnivPtr) &MetaKey, V_BOOL|V_TTY_RESET,
  69.     VARIABLE, "mode-line", (UnivPtr)ModeFmt, V_STRING|V_MODELINE,
  70. #ifdef    IBMPC
  71.     VARIABLE, "mode-line-color", (UnivPtr) &Mdcolor, V_BASE10|V_MODELINE,
  72. #endif
  73.     VARIABLE, "mode-line-should-standout", (UnivPtr) &BriteMode, V_BOOL|V_MODELINE,
  74.     VARIABLE, "paren-flash-delay", (UnivPtr) &PDelay, V_BASE10,
  75. #ifndef    MAC
  76.     VARIABLE, "physical-tabstop", (UnivPtr) &phystab, V_BASE10|V_CLRSCREEN,
  77. #endif
  78. #ifdef    IPROCS
  79.     VARIABLE, "process-prompt", (UnivPtr)proc_prompt, V_STRING,
  80. #endif
  81.     VARIABLE, "right-margin", (UnivPtr) &RMargin, V_BASE10,
  82.     VARIABLE, "scroll-all-lines", (UnivPtr) &ScrollAll, V_BOOL,
  83.     VARIABLE, "scroll-step", (UnivPtr) &ScrollStep, V_BASE10,
  84.     VARIABLE, "search-exit-char", (UnivPtr) &SExitChar, V_CHAR,
  85.     VARIABLE, "send-typeout-to-buffer", (UnivPtr) &UseBuffers, V_BOOL,
  86. #ifndef    MAC
  87.     VARIABLE, "shell", (UnivPtr)Shell, V_FILENAME,
  88.     VARIABLE, "shell-flags", (UnivPtr)ShFlags, V_STRING,
  89. #endif
  90. #ifndef    MSDOS
  91.     VARIABLE, "sync-frequency", (UnivPtr) &SyncFreq, V_BASE10,
  92. #endif    /* MSDOS */
  93.     VARIABLE, "tag-file", (UnivPtr)TagFile, V_FILENAME,
  94. #ifndef    MAC
  95.     VARIABLE, "tmp-file-pathname", (UnivPtr)TmpFilePath, V_FILENAME,
  96. #endif
  97. #ifdef    UNIX
  98.     VARIABLE, "update-time-frequency", (UnivPtr) &UpdFreq, V_BASE10,
  99. #endif    /* UNIX */
  100. #ifdef    ID_CHAR
  101.     VARIABLE, "use-i/d-char", (UnivPtr) &UseIC, V_BOOL,
  102. #endif
  103.     VARIABLE, "visible-bell", (UnivPtr) &VisBell, V_BOOL,
  104.     VARIABLE, "wrap-search", (UnivPtr) &WrapScan, V_BOOL,
  105. #ifndef    MAC
  106.     VARIABLE, "write-files-on-make", (UnivPtr) &WtOnMk, V_BOOL,
  107. #endif
  108.     VARIABLE, NULL, NULL, 0
  109. };
  110.  
  111. #ifndef    TXT_TO_C
  112. data_obj *
  113. findvar(prompt)
  114. const char    *prompt;
  115. {
  116.     static char    *strings[(sizeof variables) / sizeof (struct variable)];
  117.     static bool    beenhere = FALSE;
  118.     register int    com;
  119.  
  120.     if (!beenhere) {
  121.         register char    **strs = strings;
  122.         register const struct variable    *v = variables;
  123.  
  124.         beenhere = TRUE;
  125.         for (; v->Name; v++)
  126.             *strs++ = v->Name;
  127.         *strs = NULL;
  128.     }
  129.  
  130.     if ((com = complete(strings, prompt, NOTHING)) < 0)
  131.         return NULL;
  132.     return (data_obj *) &variables[com];
  133. }
  134. #endif
  135.